System and method providing remote user selection of a device

ABSTRACT

A system and method providing remote user selection of a device, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This patent application is related to and claims priority from provisional patent application Ser. No. 61/323,223 filed Apr. 12, 2010, and titled “SYSTEMS AND METHODS FOR PROVIDING IMAGE-BASED REMOTE CONTROL,” the contents of which are hereby incorporated herein by reference in their entirety. This patent application is also related to U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23010US02; U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR AUTOMATICALLY MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23011US02; and U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A NETWORK CONTROLLER FOR REMOTELY MONITORING AND/OR CONTROLLING DEVICES”, Attorney Docket No. 23013US02. The contents of each of the above-mentioned applications are hereby incorporated herein by reference in their entirety.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[Not Applicable]

SEQUENCE LISTING

[Not Applicable]

MICROFICHE/COPYRIGHT REFERENCE

[Not Applicable]

BACKGROUND OF THE INVENTION

Present communication networks are incapable of providing for and/or conveniently providing for user-selection of communication network devices (e.g., for remote monitoring and/or control). Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

Various aspects of the present invention provide a system and method providing remote user selection of a device, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims. These and other advantages, aspects and novel features of the present invention, as well as details of illustrative aspects thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 shows a flow diagram of a non-limiting exemplary method for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 2 shows a flow diagram of a non-limiting exemplary method for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 3 shows a block diagram of a non-limiting exemplary database that may be utilized for device determination, in accordance with various aspects of the present invention.

FIG. 4 shows a block diagram of a non-limiting exemplary system for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 5 shows a block diagram of a non-limiting exemplary system for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 6 shows a block diagram of a non-limiting exemplary system for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 7 shows a block diagram of a non-limiting exemplary device for providing remote user selection of a device, in accordance with various aspects of the present invention.

FIG. 8 shows a block diagram of a non-limiting exemplary device for providing remote user selection of a device, in accordance with various aspects of the present invention.

DETAILED DESCRIPTION OF VARIOUS ASPECTS OF THE INVENTION

The following discussion will refer to various modules, components or circuits. Such modules, components or circuits may generally comprise hardware and/or a combination of hardware and software (e.g., including firmware). Such modules may also, for example, comprise a computer readable medium (e.g., a non-transitory medium) comprising instructions (e.g., software instructions) that, when executed by a processor, cause the processor to perform various functional aspects of the present invention. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of particular hardware and/or software implementations of a module, component or circuit unless explicitly claimed as such. For example and without limitation, various aspects of the present invention may be implemented by one or more processors (e.g., a microprocessor, digital signal processor, baseband processor, microcontroller, etc.) executing software instructions (e.g., stored in volatile and/or non-volatile memory). Also for example, various aspects of the present invention may be implemented by an application-specific integrated circuit (“ASIC”) and/or other hardware components.

Additionally, the following discussion will refer to various system modules (e.g., communication modules, processor modules, memory or database modules, user interface modules, etc.). It should be noted that the following discussion of such various modules is segmented into such modules for the sake of illustrative clarity. However, in actual implementation, the boundaries between various modules may be blurred. For example, any or all of the functional modules discussed herein may share various hardware and/or software components. For example, any or all of the functional modules discussed herein may be implemented wholly or in-part by a shared processor executing software instructions. Additionally, various software sub-modules that may be executed by one or more processors may be shared between various software modules. Accordingly, the scope of various aspects of the present invention should not be limited by arbitrary boundaries between various hardware and/or software components, unless explicitly claimed.

The following discussion may also refer to communication networks and various aspects thereof. For the following discussion, a communication network is generally the communication infrastructure through which a communication device (e.g., a portable communication device, a personal computer, a network controller, a user-selectable device with network communication capability, a consumer electronic device with network communication capability, etc.) may communicate with other systems. For example and without limitation, a communication network may comprise a cable and/or satellite television communication network, a cellular communication network, a wireless metropolitan area network (WMAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), any home or premises communication network, etc. A particular communication network may, for example, generally have a corresponding communication protocol according to which a communication device may communicate with other devices in and/or via the communication network. Unless so claimed, the scope of various aspects of the present invention should not be limited by characteristics of a particular type of communication network.

In a non-limiting exemplary scenario that comprises various aspects of the present invention, a camera may capture an image (e.g., a real-time image) of an environment (e.g., a home environment, office environment, etc.) comprising devices that may be monitored and/or controlled by a user. Such image may, for example, be a real-time image, a periodically updated image, an image acquired during system configuration, etc.). A graphical map image may also (and/or alternatively), for example, be similarly utilized. The system may then present the image to the user (e.g., on a display device, a touch input device, etc.). The user may then identify a device in the image with which the user desires to interact (e.g., in a monitoring and/or controlling capacity). For example, the user may touch the device in the image on a touch screen, identify the device with a movable cursor, indicate the image with a light pen, etc. The system may then determine the user-identified device. Such determination may, for example, comprise analyzing a database of devices in a particular area. Such database may, for example, be maintained manually and/or automatically without user interaction.

The system may, for example, establish a communication link (directly or indirectly) with the user-identified device. The system may then determine user interface options to present to the user. Such user interface options may, for example, be related to monitoring and/or controlling the user-identified device. The system may present the determined user interface options to the user. The system may then interact with the user (e.g., presenting user interface options to the user and receiving user input corresponding to such user interface options). The system may then form signals recognized by the user-identified device, where such signals correspond to the user input. Such signals may, for example, comprise data structures, command identifiers, etc., corresponding to a communication protocol understood by the user-identified device. The system may then communicate the formed signal to the user-identified device (e.g., utilizing a communication protocol understood by the user-identified device over a communication network to which the user-identified device is communicatively coupled. The system may then, depending on the nature of the user input, continue to interact with the user-identified device, for example transmitting additional commands/information to the user-identified device and/or receiving information from the user-identified device.

Turning first to FIG. 1, shows a flow diagram of a method 100 illustrating a method of providing remote user selection of a device, in accordance with various aspects of the present invention. The method 100 may, for example, be implemented in a network controller device, gateway, router, access point, etc. Such network controller device may, for example, be implemented in a home device (e.g., a hub of a home computing network, a home-based desktop computer, a home gateway and/or router, etc.). The method 100 may also, for example, be implemented in a portable computing device. Such a portable computing device may, for example, be a laptop or notebook computer, handheld computing device, cellular phone, personal digital assistant, any personal electronic device, etc. Also note that various aspects of the exemplary method 100 (and all methods herein) may also be performed by a distributed system (e.g., a first portion may be performed in a communication network infrastructure device, for example a network controller, and a second portion may be performed in a personal electronic device or terminal).

The method 100 may begin executing at step 105. The method 100 may begin executing in response to any of a variety of causes and/or conditions, non-limiting examples of which will now be provided.

For example, the method 100 may begin executing in response to a user command to begin. For example, a user may input a command to begin any of a large variety of tasks that include remote user identification of a device. Also for example, the method 100 may begin executing in response to detection of a change in the device makeup of a particular environment. For example, the method 100 may begin executing in response to detecting the presence of an unknown device within a particular geographic area (e.g., a premises, office, room, suite of rooms, etc.). Further for example, the method 100 may begin executing in response to a determination that a device being tracked has moved or has potentially moved within a particular environment. Additionally, for example, the method 100 may begin executing in response to failure to establish a communication link with a device in a particular area (e.g., when such device is predicted to be in such area).

Additionally for example, the exemplary method 100 may begin executing periodically (e.g., at a constant or substantially constant period, for example hourly, daily, etc.), surveying one or more particular areas. The exemplary method 100 may, for example, begin executing in response to a timer and/or in response to a predefined time schedule. Additionally for example, the method 100 may begin executing in response to a system power-up or reset.

In general, the exemplary method 100 may begin executing at step 105. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular initiating cause or condition unless explicitly claimed.

The exemplary method 100 may, for example at step 120, comprise providing an image (e.g., one or more images) of a device environment to a user. Such image may comprise characteristics of any of a variety of types of images. For example and without limitation, the image may correspond to a camera (or photographic) image of a particular area (e.g., a room, office, set of rooms, etc.). Alternatively for example, step 120 may comprise providing a map image (e.g., a 2-dimensional and/or 3-dimensional map image) to the user.

Step 120 may, for example, comprise presenting the image on a display (e.g., a touch screen) of a user device (e.g., a personal electronic device, a personal computer, a personal digital assistant, a smart phone, etc.). Step 120 may comprise presenting the image on a display of any of a variety of other devices (e.g., a network controller with a screen, an access point with a screen, a gateway with a screen, etc.).

Step 120 may also, for example, comprise communicating the image (e.g., camera image and/or map image) information to a device (e.g., a user device) if such information does not originate at such device. For example, step 120 may comprise utilizing a previously established communication link or may also comprise establishing a communication link configured for the communication of video and/or graphics information. In a non-limiting exemplary scenario, step 120 may be performed in communication network infrastructure apparatus (e.g., a network controller) and comprise transmitting the image information to a personal computer terminal.

Step 120 may comprise presenting graphics features in the presented image, where such graphics features indicate selectable devices in the image (e.g., devices for which communication has occurred in the past, devices for which communication information exists in a database, devices that are presently communicatively coupled to one or more known communication networks, etc.). Such graphical features may also indicate status of the device (e.g., currently on-line, currently off-line, sleeping, monitorable device, controllable device, device for which the user is authorized to interact with or not, new undefined device, failing device, device for which communication should be possible but which is presently not possible, etc.

Step 120 may also comprise providing an output image or graphics feature indicating where a user is presently indicating. For example, step 120 may comprise outputting a graphical feature (e.g., a cursor, etc.) indicating where the user is presently pointing, touching, looking, etc. Also for example, step 120 may comprise outputting a graphical indication of an area being selected by a user (e.g., as such area is being defined by the user).

The image presented at step 120 may comprise a non-real-time stored image and/or a real-time image acquired as such image is needed (e.g., during present execution of the exemplary method 100, during present execution of step 120, etc.). In a stored-image scenario, step 120 may comprise retrieving the image from a database (e.g., a local database and/or a remote networked database). Such a database may, for example and without limitation, have been formed and/or maintained in accordance with procedures or systems outlined in U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23010US02 and/or U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR AUTOMATICALLY MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23011US02, each of which is hereby incorporated herein by reference in its entirety.

For example, step 120 may comprise presenting an image to the user that was obtained at some point in the past (e.g., at a regular periodic time point in the past, during system calibration defining user-selectable devices, during a most recent network maintenance and/or definition operation, etc.). In a non-limiting exemplary scenario, step 120 may comprise presenting a camera image of a family room to a user, where such image was taken prior to the present execution of the exemplary method 100. In environments that have a relatively static device configuration, such previously obtained image may be utilized for a substantial duration of time before updating. For example, such an image need only be updated when a user-selectable device is added to and/or removed from and/or moved within the pictured or mapped environment.

In a real-time scenario, step 120 may comprise retrieving the image utilizing a camera. For example, in an exemplary scenario, a user may utilize a user interface provided at step 120 to specify a particular room, in response to which step 120 may comprise utilizing a camera in the room to obtain a current image of the room. Note that such selection may be multi-tiered, for example, a user may first specify a building or system, then a room of the specified building or system, then a camera of the specified room, etc.

A previous example mentioned a user indicating a room, in response to which step 120 comprised presenting an image of such room to the user. Step 120 may similarly comprise providing a user interface by which the user may select a particular camera from which an image is desired. In an exemplary scenario, step 120 may present the user with a list of cameras from which to select (e.g., a kitchen camera, family room camera 1, family room camera 2, patio camera, pool camera, rec room camera 1, rec room camera 2, office camera 1, office camera 2, front door camera, etc.). The user may then select the desired camera. Such a list of cameras may, for example be textual, graphical, image-based (e.g., showing a thumbnail image from each camera), etc.

In an implementation including utilization of camera images, step 120 may also comprise providing for user control of a selected camera. For example, step 120 may comprise providing a user interface to the user by which the user may control movement of the camera, operation of the camera lens (e.g., panning, zooming and/or focusing), operation of camera lighting, filtering, resolution, etc. In a non-limiting exemplary scenario, step 120 may comprise providing the user with the ability to zoom in on a desired device to assist the user in selecting a device and/or defining an area and/or volume occupied by such device. Step 120 may thus provide for additional control of an image being presented to the user for use by the user in selecting a device, inputting information identifying location of the device, orientation of the device, spatial characteristics of the device, etc.

In general, step 120 may comprise providing an image (e.g., one or more images) of a device environment to a user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular image (e.g., a camera image, map image, etc.) and/or any particular manner of presenting such an image unless explicitly claimed.

The exemplary method 100 may, for example at step 130, comprise receiving an image selection input from a user. Step 130 may comprise receiving such an image selection input in any of a variety of manners, non-limiting examples of which will now be presented.

For example, step 130 may comprise receiving a touch screen input from a user. Also for example, step 130 may comprise receiving a cursor movement and selection input from a user (e.g., utilizing a mouse, touch pad, track ball, etc.). Further for example, step 130 may comprise receiving a light pen input from a user, a camera input from a user, etc.

Step 130 may comprise receiving a user indication of a specific point in the image as input (e.g., a touch point, a cursor click point, etc.). Also for example, step 130 may comprise receiving a user input indicative of a selected area (e.g., an area enclosed by a figure drawn by the user) or volume.

For example, step 130 may comprise receiving information descriptive of a square, rectangle or other polygon drawn by the user. Similarly for example, step 130 may comprise receiving information descriptive of a circle or oval drawn by the user. For example, step 130 may comprise providing the user with a graphical toolset, by which the user may draw a polygon around the device, circle the device, paint the device, draw an ellipse around the device, define the device region with a plurality of figures, etc. Such graphical toolset may also comprise tools that automatically provide borders on a selected object (e.g., by performing pixel analysis to search for device edges).

Additionally for example, step 130 may comprise receiving a user input that toggles between and/or traverses a plurality of selectable devices in the image presented to the user. For example, step 130 may comprise receiving a user inputting a “next” command that causes traversal of the selectable devices (e.g., one at a time) until the user reaches the desired device. In such a scenario, during a traversal of devices, step 130 may comprise outputting a graphical indication (e.g., a highlighted area or polygon) indicating the presently selected device.

In general, step 130 may comprise receiving an image selection input from a user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of such input and/or any particular manner of receiving such input unless explicitly claimed.

The exemplary method 100 may, for example at step 140, comprise identifying a device in the image that has been selected by the user. Step 140 may comprise identifying the selected device in any of a variety of manners. For example, step 140 may comprise correlating the user device selection information received at step 130 with known device selection areas in the presented image. For example, as discussed in U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23010US02 and/or U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR AUTOMATICALLY MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23011US02, each of which is hereby incorporated herein by reference in its entirety, a database may be formed that includes information defining device selection areas within an image (e.g., a pictorial or map image). In such a scenario, step 140 may comprise comparing a user-selected location (or area or volume) in the image presented at step 120, as received at step 130, with such database information to determine whether the user-selected location (or area or volume) corresponds to a defined region of the image corresponding to a particular device. For example, if a user selects location (X, Y) in the image, step 140 may comprise determining that the location (X, Y) has been previously defined to correspond to the location of Device A. Various exemplary manners of forming such a database were discussed in the above-mentioned incorporated patent applications.

Also for example, step 140 may comprise processing the user device selection information received at step 130 to determine a location in the image at which to begin performing image matching analysis. For example, as explained in the above-mentioned incorporated patent applications, pixel characteristics with a previously defined image of a device may be processed and stored in a fashion (e.g., as pixel histograms, etc.) that may be processed to identify such device appearing in an image. For example, respective pixel histograms may be formed that correspond to respective devices (e.g., respective pixel histograms for a television, a stereo, a light switch, a receiver, a thermostat, etc.). Step 140 may, in such a scenario, comprise determining the previously defined histogram that best matches the area surrounding a user-selected point in the image and/or that best matches the characteristics of an area defined by a user input received at step 130.

Further for example, step 140 may comprise performing character recognition processing. Such processing may, for example, comprise analyzing an area of the image near a point specified by the user to determine whether any recognizable characters (e.g., alphabetical characters, numerical characters, fanciful logos, etc.) are present in the area of the image. In a non-limiting example, the system implementing the method 100 may know that there is only one device in the family room that has been produced by a particular manufacturer. The presence of a logo associated with such manufacturer in the image relatively near a user's designated point in the image may be utilized by step 140 as an indication that such device has been selected by the user.

Additionally for example, step 140 may comprise analyzing location information to identify a particular device that has been selected by a user. For example, the camera's location and field of view may be processed in conjunction with a user-identified location in the image to draw a line extending out from the camera through the camera image plane. In such a scenario, step 140 may comprise determining that the first device encountered along such line (in other words, the first device, the known location of which lies along such line) extending outward from the camera lens corresponds to the user-selected device.

Still further for example, step 140 may comprise correlating the user-identified image location and field of view with a generally analogous field of received RF energy. For example, user-identified image location may be relatively closer to an identified RF hot-spot in such image field of view than other RF hot-spots. In such a scenario, step 140 may comprise determining that the user has identified the device corresponding to the closest RF hot-spot in the image field of view. Similarly, infrared processing may identify devices emitting heat energy and determining the closest heat-emitting device in the field of view relative to the user-identified location in the image.

Note that step 140 may also comprise establishing a communication link with a determined device (or candidate device) to determine additional information about such device that may be utilized in determining whether the user has identified such device. For example, such communication link(s) may be established to communicate current device location information, to communicate test messages, to determine whether the user has access to a particular device, etc.

In general, step 140 may comprise identifying a device in the image that has been selected by the user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular manner of performing such identification unless explicitly claimed.

The exemplary method 100 may, for example at step 195, comprise performing continued processing. Various non-limiting examples of such processing will be provided below. For example, step 195 may comprise returning execution flow of the method 100 to any previous step.

Also for example, step 195 may comprise communicating information indicating the device identified by the system to the user. Such operation may, for example, provide the user the opportunity to determine whether the correct device was identified. Such information may, for example, outputting a graphical feature on the image presented at step 120 to identify the device identified at step 140.

Also for example, step 195 may comprise communicating information of the identified device to any of a variety of functional modules that may utilize such information. For example, step 195 may comprise determining a desired user action to take regarding the user-identified device and performing such action.

Additionally, step 195 may, for example, comprise interfacing with one or more databases (e.g., local and/or remote databases) to acquire information regarding such user-selected device. Such information may, for example, be presented to the user, stored in a database record, utilized to upgrade and/or reconfigure the identified device, utilized to establish a communication link with such device, utilized to configure secure communication with such device, purchasing information, manufacturer information, technical assistance information, cost information, operation instructions, remote operation instructions, personal information associated with such device, images related to such device, history of such device, etc.

Further for example, step 195 may comprise presenting to a user via a user interface, the options available to the user concerning interaction with such identified device. Further, as will be discussed in more detail below, step 195 may comprise establishing a communication network with the identified device and/or establishing a remote control environment between the user and the identified device.

Also for example, step 195 may comprise interfacing with the user to acquire an image of the selected device (or object) to communicate to a destination. Such continued processing may also, for example, comprise passing control of a selected device to another entity (e.g., to a service person, etc.).

Additional examples of such continued processing may, for example, comprise any or all of the functionality discussed in co-pending applications U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23010US02; U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD FOR AUTOMATICALLY MANAGING A NETWORK OF USER-SELECTABLE DEVICES”, Attorney Docket No. 23011US02; and U.S. patent application Ser. No. ______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A NETWORK CONTROLLER FOR REMOTELY MONITORING AND/OR CONTROLLING DEVICES”, Attorney Docket No. 23013US02. Each of such applications is hereby incorporated herein by reference in its entirety.

In general, step 195 may comprise performing continued processing. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular type of continued processing unless explicitly claimed.

FIG. 2 a flow diagram of a non-limiting exemplary method 200 for providing remote user selection of a device, in accordance with various aspects of the present invention. The exemplary method 200 may, for example and without limitation, share any or all aspects with the exemplary method 100 discussed above.

The exemplary method 200 may, for example at step 205, share any or all aspects with step 105 of the exemplary method 100 illustrated in FIG. 1 and discussed previously.

The exemplary method 200 may, for example at step 220, comprise presenting (or providing) an image (e.g., one or more images) of a device environment to a user. Step 220 may, for example, share any or all characteristics with step 120 discussed above.

For example, step 220 may, at sub-step 222, comprise establishing a user interface (local or remote). Such a user interface may, for example, be utilized by a user to request and/or identify an image (e.g., a camera image, graphical image, map image, etc.) to be presented to the user. For example, sub-step 222 may comprise establishing communication links between a user device and other devices depending on where various aspects are implemented. FIGS. 4-6, which will be discussed later, provide non-limiting illustrations of a variety of system configurations, including communication links between various system components and devices. For example, a user device may operate the entire user interface (U/I) (e.g., executing all or most U/I software instructions and utilizing user interface modules to interact with the user). Also for example, the user device may effectively operate as a U/I terminal for another device (e.g., a gateway, network controller, access point, etc.) that is executing all or most of the U/I software instructions, for example acting primarily as a conduit of user interface information, which is mostly processed by another device.

Step 220 may, for example at sub-step 224, comprise receiving a user input requesting an image (e.g., a camera image or map). For example, sub-step 224 may comprise receiving such a user input via the user interface established at sub-step 222. Sub-step 224 may, for example, comprise receiving a user request for a view of a particular area (e.g., a camera image, a 2-D and/or 3-D graphical map image of an area, etc. Sub-step 224 may, for example, comprise receiving a request for an image from a particular camera or a map of a particular area (e.g., a room). Such a request may also, for example, designate whether the user desires a formerly acquired image or a real-time image. There may also be a default image to present (e.g., use a real-time image, if available, unless the user indicates otherwise). In an exemplary scenario, sub-step 224 may comprise providing a graphical user interface to a user that provides the user the capability to select a particular image, room to be imaged, camera from which to acquire an image, etc.

Step 220 may, for example at sub-step 226, comprise acquiring an image (e.g., a camera image or map image) (e.g., the image requested at step 224). Sub-step 226 may comprise acquiring such image in any of a variety of manners. For example and without limitation, sub-step 226 may comprise identifying the desired image (e.g., as expressed by the user at sub-step 224). Sub-step 226 may, for example, comprise acquiring a stored non-real-time image stored previously (e.g., in a database, for example, local database and/or remote database). For example, sub-step 226 may comprise interfacing with a camera (e.g., a fixed camera, user-controllable camera, etc.) to acquire a real-time image from such camera (e.g., acquiring the real-time image when the need for such an image is realized). In such an exemplary scenario, sub-step 226 may comprise providing user control over a controllable camera (e.g., panning, zooming, resolution, filtering, etc.). Sub-step 226 may, for example, comprise utilizing the communication link established at step 222 and/or may also comprise establishing a communication link specifically configured for the communication of video and/or graphics information.

Step 220 may, for example at sub-step 228, comprise presenting the image (e.g., camera image, map image, etc.) acquired at sub-step 226 to the user (e.g., via the user interface established at sub-step 222). Sub-step 228 may comprise presenting the image in any of a variety of manners.

For example, sub-step 228 may comprise presenting the image on a display (e.g., a touch screen) of a user device (e.g., a personal computing device, smart phone, etc.), many examples of which have been presented herein. Sub-step 228 may, for example, comprise presenting the image on a display of a communication network infrastructure device (e.g., a network controller with a screen, access point with a screen, gateway with a screen, etc.).

Sub-step 228 may, for example, comprise communicating information describing the image (e.g., a digital image data file) to a user device (e.g., if such information is not already at such device). For example, step 228 may comprise utilizing a communication link established at sub-step 222 and/or may also comprise establishing and utilizing a communication link specifically configured for the communication of video and/or graphics information.

Further for example, sub-step 228 may comprise presenting graphics features indicating selectable devices in the image (e.g., devices for which communication has occurred in the past, devices for which communication information exists in the database, devices that are presently communicatively coupled to one or more known communication networks, etc.). Such graphical features may also indicate status of the device (e.g., currently on-line, currently off-line, sleeping, monitorable device, controllable device, device for which the user is authorized to interact with or not, new non-defined device, failing device, device for which communication should be possible but which is presently not, etc.).

Still further for example, sub-step 228 may comprise presenting an on-image indication of where a user is presently indicating. For example, sub-step 228 may comprise outputting a graphical feature (e.g., a cursor, etc.) indicating where the user is presently pointing, touching, looking, etc. Also for example, sub-step 220 may comprise outputting a graphical indication of an area being selected by a user (e.g., as such area is being defined by the user).

In general, step 220 may comprise providing an image (e.g., one or more camera images, one or more map images, etc.) of a device environment to a user. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular type of image and/or any particular manner of providing such an image to a user unless explicitly claimed.

The exemplary method 200 may, for example at steps 230-295, share any or all aspects with steps 130-195 of the exemplary method 100 illustrated in FIG. 1 and discussed previously.

FIG. 3 shows a block diagram 300 of a non-limiting exemplary database for automatic network maintenance and/or characterization, and/or for utilization for device identification in accordance with various aspects of the present invention.

The previous discussion (e.g., the discussion of steps 140 and 240) mentioned that identification of a selected device may be performed via interaction with a database. Additionally, the discussions of other method steps mentioned the acquisition of information related to a selected device (e.g., device identity information, device location information, additional information related to a device, etc.) may comprise interfacing with one or more local and/or remote databases. FIG. 3 provides a non-limiting illustration of such a database. Additionally, other method steps may comprise the formation and/or maintenance of a database where devices of an image may be related to respective device records that include any of a variety of different types of device information (many examples of which were provided above).

The database may, for example, comprise a memory 361. Such a memory 361 may, for example, be a non-volatile memory (or other non-transitory data retention device) such as a magnetic disk hard drive, optical disk drive, CD, DVD, laser disc, Blueray disc, diskette, flash drive, EPROM, EEPROM, flash memory, etc. The memory 361 may, in the illustrated example, include information of an image 320 (or plurality of images), where areas or features of the image may be related to records, which may also be stored in the memory 361. For example, the image 320 may comprise a still photograph or other camera image.

The image 320 may comprise an image of a thermostat that is linked to a thermostat record 331. The image 320 may also comprise an image of a DVR that is logically linked to a DVR record 332, an image of a stereo that is logically linked to a stereo record 333, an image of a television that is logically linked to a television record 334, an image of a set top box (“STB”) and/or TV receiver that is logically linked to an STB/Receiver record 335, an image of a power switch that is logically linked to a power switch record 336 and an image of a camera that is logically linked to a camera record 337. As discussed previously, the devices of the image 320 (or environment) may be defined by respective areas (e.g., boxes, outlines, etc.) input by a user and/or automatically defined (e.g., utilizing pixel analysis).

Also as discussed previously in the discussion of the methods of FIGS. 1 and 2, various aspects of the present invention may comprise providing a database interface 390 by which various processes (e.g., a process implementing steps 140 and/or 240) may access and utilize the information stored in the memory 361. As discussed previously, such interface 390 may be implemented in a variety of manners. For example, such interface 390 may be implemented by a processor 360 or other hardware device executing instructions, which may, for example, be stored in the memory 361 or another memory (e.g., either collocated with the memory 361 or geographically distinct from the memory 361. The database interface 390 may comprise modules stored in a variety of locations (e.g., at a central controller, server, gateway, access point, and/or user computing device).

The system 300 illustrated in FIG. 3 also comprises one or more processors, communication interface modules, or any other hardware components 360 that may interact with the memory 361 via the database interface 390. For example, one of such processors may be operate to interface with the database 361 while implementing the exemplary methods 100, 200 illustrated in FIGS. 1-2 and discussed previously.

FIG. 4 shows a block diagram of a non-limiting exemplary system 400 for providing remote user selection of a device, in accordance with various aspects of the present invention. The exemplary system 400 (or components thereof) may operate to perform any or all of the functional characteristics discussed herein (e.g., with regard to the exemplary methods 100 and 200, with regard to the exemplary database 300, etc.).

The exemplary system 400 may, for example, comprise a personal computer system 480, which is communicatively coupled to a variety of devices via one or more communication networks 405 (e.g., the Internet, a telecommunication network, cable television network, satellite communication network, local area network, personal area network, metropolitan area network, wide area network, campus network, home network, etc.). Such network(s) may, for example, be wired, wireless RF, tethered optical, non-tethered optical, etc.

As a non-limiting example, the personal computer system 480 (e.g., a laptop or notebook computer, desktop computer, handheld computer, cellular telephone with computing capability, smart phone, personal digital assistant, etc.) may comprise one or more processors 460 and a database 461. The personal computer system 480 may, for example, operate to perform any or all of the method steps discussed previously. For example, the database 461 may comprise any or all database characteristics discussed herein.

The personal computer system 480 may, for example, operate to provide for user selection (e.g., remote user selection) of an electronic device in a network that comprises any or all of the non-limiting exemplary devices (e.g., the thermostat 431, DVR 432, stereo 433, television 434, STB/Rcvr 435, power switch 436 and camera 437). As a non-limiting example, the processor 460 may operate to provide for user selection of any or all of such devices in a same communication network and/or in separate communication networks.

For example, the personal computer system 480 may, for example, operate to interact with the user to implement any of the above-mentioned functionality. For example, the personal computer system 480 may operate to obtain image information (or map information) from a database 461 and/or camera 437 to present an image (e.g., a camera image, a map image, etc.) to a user thereof. The personal computer system 480 may then operate to receive image selection input from a user of such system, identify the user-selected device, and perform continued processing regarding such user-selected device.

FIG. 5 shows a block diagram of a non-limiting exemplary system 500 for providing remote user selection of a device, in accordance with various aspects of the present invention. The exemplary system 500 (or components thereof) may operate to perform any or all of the functional characteristics discussed herein (e.g., with regard to the exemplary methods 100 and 200 illustrated in FIGS. 1 and 2, with regard to the exemplary database illustrated in FIG. 3, with regard to the exemplary system 400 illustrated in FIG. 4, etc.).

The exemplary system 500 may, for example, comprise a personal computer system 580, which is communicatively coupled to a gateway, network controller and/or access point 585 via one or more communication networks 505 (e.g., the Internet, a telecommunication network, cable television network, satellite communication network, local area network, personal area network, metropolitan area network, wide area network, campus network, home network, etc.). Such network(s) may, for example, be wired, wireless RF, tethered optical, non-tethered optical, etc.

The gateway, network controller and/or access point 585, in turn, is communicatively coupled to a variety of devices via one or more local communication networks 506 (e.g., local area network(s), personal area network(s), home network(s), office network(s), etc.). Such local communication network(s) may, for example, be wired, wireless RF, tethered optical, non-tethered optical, etc.

As a non-limiting example, the personal computer system 580 (e.g., a laptop or notebook computer, desktop computer, handheld computer, cellular telephone with computing capability, personal digital assistant, etc.) may comprise one or more processors 560 and a database 561. The personal computer system 580 may, for example, operate to perform any or all of the method steps discussed previously. For example, the database 561 may comprise any or all database characteristics discussed herein.

The personal computer system 580 may, for example and without limitation, operate to provide for user selection of an electronic device in a network that comprises any or all of the previously exemplified thermostat 531, DVR 532, stereo 533, television 534, STB/Rcvr 535, power switch 536 and camera 537. As a non-limiting example, the processor 560 may operate to provide for user selection of any or all of such devices in a same communication network and/or in separate communication networks.

For example, the personal computer system 580 may, for example, operate to interact with the user to implement any of the above-mentioned functionality. The personal computer system 580 may (e.g., utilizing a communication module) operate to establish a communication link with any of the devices illustrated (e.g., including the camera 537) via the communication network(s) 505; local gateway, network controller and/or access point 585; and communication network(s) 506; and provide the capability to view and/or select a device. Such operation may, for example, comprise interfacing with the camera 537 to obtain a photographic image of a device environment and/or obtaining image or map information from the database 561.

The personal computer system 580 may, for example, operate to receive image selection input from a user of such system, identify the user-selected device, and perform continued processing regarding such user-selected device.

FIG. 6 shows a block diagram of a non-limiting exemplary system 600 for providing remote user selection of a device, in accordance with various aspects of the present invention. The exemplary system 600 (or components thereof) may operate to perform any or all of the functional characteristics discussed herein (e.g., with regard to the exemplary methods 100 and 200 illustrated in FIGS. 1 and 2, with regard to the exemplary database illustrated in FIG. 3, with regard to the exemplary systems 400 and 500 illustrated in FIGS. 4 and 5, etc.).

The exemplary system 600 may, for example, comprise a personal computer system 680, which is communicatively coupled to a gateway, network controller and/or access point 685 via one or more communication networks 605 (e.g., the Internet, a telecommunication network, cable television network, satellite communication network, local area network, personal area network, metropolitan area network, wide area network, campus network, home network, etc.). Such network(s) may, for example, be wired, wireless RF, tethered optical, non-tethered optical, etc.

The gateway, network controller and/or access point 685, in turn, is communicatively coupled to a variety of devices via one or more local communication networks 606 (e.g., local area network(s), personal area network(s), home network(s), office network(s), etc.). Such local communication network(s) may, for example, be wired, wireless RF, tethered optical, non-tethered optical, etc.

As a non-limiting example, the gateway, network controller and/or access point 685 may comprise one or more processors 660 and a database 661. The gateway, network controller and/or access point 685 may, for example, operate to perform any or all of the method steps discussed previously. For example, the database 661 may comprise any or all database characteristics discussed herein.

The gateway, network controller and/or access point 685 may, for example and without limitation, operate to provide for user selection of an electronic device in a network that comprises any or all of the previously exemplified thermostat 631, DVR 632, stereo 633, television 634, STB/Rcvr 635, power switch 636 and camera 637. As a non-limiting example, the processor 660 may operate to provide for user selection of any or all of such devices in a same communication network and/or in separate communication networks.

For example, the personal computer system 680 and/or local gateway(s), network controller(s) and/or access point(s) 685 may, for example, operate to perform any of the above-mentioned functionality. For example, the personal computer system 680 may operate receive an indication from the user that the user desires to select a device from a particular environment (e.g., a particular room, premises, office, etc.). The personal computer system 680 may then, for example, operate to establish a communication link with the local gateway(s), network controller(s) and/or access point(s) 685. In such an exemplary scenario, functional aspects discussed previously (apart from direct user interaction) may be performed by the local gateway, network controller and/or AP 685 instead of by the personal computer system 680. Alternatively, in such an exemplary scenario, the personal computer system 680 and local gateway, network controller or AP 685 may distribute performance of any of the previously discussed method steps among the various system entities.

For example, in an exemplary scenario, where the user desires a real-time image of a particular environment, the local gateway, network controller and/or access point 685 may operate to provide a communication link between the personal computer system 680 and the camera, by which the personal computer system 680 may obtain an image from the camera and present such image to the user. Such a communication link may also comprise characteristics providing for user control of the camera 637.

Also for example, in an exemplary scenario where the user desires a non-real time image, the personal computer system 680 may operate to establish a communication link with the local gateway, network controller and/or access point 685 over which such desired image may be communicated from the database 661 to the personal computer system 680.

In the particular example illustrated in FIG. 6, the processor 660 may operate to perform any or all of the device-identifying functionality discussed previously and/or any or all of the continued processing functionality discussed previously.

For example, the gateway, network controller and/or access point 685 may (e.g., utilizing one or more communication modules) operate to establish a communication link with a user-selected device via the communication network(s) 606, and establish a communication pathway between the personal computer system 680 and the user-selected device. The gateway, network controller and/or access point 685 may then operate to provide the capability to monitor and/or control the selected device.

Note that, as opposed to the exemplary systems 400, 500 illustrated in FIGS. 4-5, the exemplary system 600 locates most of the previously discussed functionality in the gateway, network controller and/or access point 685 (e.g., as opposed to the personal computer system 680). Such an implementation may, for example, remove system complexity from the personal computer 680, which may for example have limited energy, memory and/or processing capabilities, and place such complexity in a central location, which may for example have relatively increased energy, memory and/or processing capabilities. Such an arrangement also provides for a plurality of personal computer systems to perform the disclosed operation with a minimum of additional complexity.

FIG. 7 shows a block diagram of a non-limiting exemplary device (or system) 700 for providing remote user selection of a device, in accordance with various aspects of the present invention. The exemplary device 700 (or various components thereof) may, for example, operate to perform any or all functionality discussed previously with regard to FIGS. 1-6. Also for example, the exemplary device 700 may share any or all characteristics with the database system 300 and/or personal computer systems 480, 580 and 680 discussed previously. Additionally for example, the exemplary device 700 may share any or all characteristics with the local gateways, remote controllers and/or access points 585, 685 discussed previously. Further for example, the exemplary device 700 may share any or all characteristics with the exemplary device (e.g., terminal devices) 331-337, 431-437, 531-537 and 631-637 discussed previously.

The exemplary device 700 may, for example, comprise a first communication interface module 710. The first communication interface module 710 may, for example, operate to communicate over any of a variety of communication media and utilizing any of a variety of communication protocols. For example, though the first communication interface module 710 is illustrated coupled to a wireless RF antenna via a wireless port 712, the wireless medium is merely illustrative and non-limiting. The first communication interface module 710 may, for example, operate to communicate with one or more communication networks (e.g., cable television networks, satellite television networks, telecommunication networks, the Internet, local area networks, personal area networks, metropolitan area networks, etc.) via which data is communicated.

The exemplary device 700 comprises a second communication interface module 720. The second communication interface module 720 may, for example, operate to communicate over any of a variety of communication media and utilizing any of a variety of communication protocols. For example, the second communication interface module 720 may communicate via a wireless RF communication port 722 and antenna, or may communicate via a non-tethered optical communication port 724 (e.g., utilizing laser diodes, photodiodes, etc.). Also for example, the second communication interface module 720 may communicate via a tethered optical communication port 726 (e.g., utilizing a fiber optic cable), or may communicate via a wired communication port 728 (e.g., utilizing coaxial cable, twisted pair, HDMI cable, Ethernet cable, any of a variety of wired component and/or composite video connections, etc.). The second communication interface module 720 may, for example, operate to communicate with one or more communication networks (e.g., cable television networks, satellite television networks, telecommunication networks, the Internet, local area networks, personal area networks, metropolitan area networks, etc.) via which data is communicated. Also for example, the second communication module 720 may operate to communicate with local devices.

The exemplary device 700 may also comprise additional communication interface modules, which are not illustrated. Such additional communication interface modules may, for example, share any or all aspects with the first 710 and second 720 communication interface modules discussed above.

The exemplary device 700 may also comprise a communication module 730. The communication module 730 may, for example, operate to control and/or coordinate operation of the first communication interface module 710 and the second communication interface module 720 (and/or additional communication interface modules as needed). The communication module 730 may, for example, provide a convenient communication interface by which other components of the device 700 may utilize the first 710 and second 720 communication interface modules. Additionally, for example, in an exemplary scenario where a plurality of communication interface modules are sharing a medium and/or network, the communication module 730 may coordinate communications to reduce collisions and/or other interference between the communication interface modules 710, 720. The communication module 730 may, for example, operate to utilize one or more of the communication interface modules 710, 720 to perform any or all of the communication functionality discussed herein (e.g., with regard to any of the steps illustrated in FIGS. 1 and 2 and discussed previously).

The exemplary device 700 may additionally comprise one or more user interface modules 740. The user interface module(s) 740 may generally operate to provide user interface functionality to a user of the device 700. For example, the user interface module(s) 740 may operate to perform any or all of the exemplary user interface functionality discussed herein (e.g., with regard to any of FIGS. 1-6). For example, and without limitation, the user interface module(s) 740 may operate to provide for user control of any or all standard device commands. The user interface module(s) 740 may, for example, operate and/or respond to user commands utilizing user interface features disposed on the device 700 (e.g., buttons, touch screen, microphone, etc.) and may also utilize the communication module 730 (and/or first 710 and second 720 communication interface modules) to communicate with the device 700 and/or any device that is communicatively coupled thereto (e.g., to control any monitoring and/or controlling functionality discussed herein). The user interface module 740 may also operate to interface with and/or control operation of any of a variety of sensors that may be utilized to ascertain an on-screen pointing location. As discussed elsewhere herein, the user may specify location and/or other characteristics of a device.

The exemplary device 700 may comprise a display 750. As discussed elsewhere herein, the user may utilize a display to view and/or interact with maps and/or images of network environments (e.g., for device location input and/or definition, for device selection, etc.). Such interaction may, for example, utilize a display 750 of the device 700, which may also, for example, be utilized for user input (e.g., as a touch screen, utilizing cursor control, etc.).

The exemplary device 700 may comprise one or more processors 760. The processor(s) 760 may, for example, comprise a general purpose processor, digital signal processor, application-specific processor, microcontroller, microprocessor, etc. The processor(s) 760 may, for example, share any or all characteristics with processors discussed elsewhere herein (e.g., processors 360, 460, 560 and 660). For example, the processor 760 may operate in accordance with software (or firmware) instructions. As mentioned previously, any or all functionality discussed herein may be performed by a processor executing instructions. For example, though various modules are illustrated as separate blocks or modules in FIG. 7 for illustrative clarity, such illustrative modules, or a portion thereof, may be implemented by the processor(s) 760. For example, the processor(s) 760 may operate to perform any or all of the steps discussed previously with regard to FIGS. 1 and 2.

The exemplary device 700 may comprise one or more memories 761. As discussed above, various aspects may be performed by one or more processors executing instructions. Such instructions may, for example, be stored in the one or more memories 761. Such memory 761 may, for example, comprise characteristics of any of a variety of types of memory. For example and without limitation, such memory 761 may comprise one or more memory chips (e.g., ROM, RAM, EPROM, EEPROM, flash memory, one-time-programmable OTP memory, etc.), hard drive memory, CD memory, DVD memory, etc. Also for example, the memory 761 may share any or all characteristics with any of the databases discusses herein (e.g., databases 361, 461, 561 and 661).

The exemplary device 700 may also comprise one or more image (e.g., pictorial image, map image, etc.) presentation modules 771. Such module(s) 771 may, for example and without limitation, operate to perform any or all of the functionality discussed herein with regard to receiving device identify information (e.g., at steps 120 and 220).

The exemplary device 700 may also comprise one or more user device selection modules 772. Such module(s) 772 may, for example and without limitation, operate to perform any or all of the functionality discussed herein with regard to receiving device identify information (e.g., at steps 130 and 230).

The exemplary device 700 may also comprise one or more device identification modules 774. Such module(s) 774 may, for example and without limitation, operate to perform any or all of the functionality discussed herein with regard to receiving additional device information (e.g., at steps 140 and 240).

The exemplary device 700 may also comprise one or more database interface modules 790. Such module(s) 790 may, for example and without limitation, operate to perform any or all of the database interface functionality discussed herein.

FIG. 8 shows a block diagram of a non-limiting exemplary device 800 for providing remote user selection of a device, in accordance with various aspects of the present invention. FIG. 7 provided a diagram illustrating an exemplary device (or system) 700 in accordance with various aspects of the present invention. FIG. 8 provides another diagram illustrating an exemplary device (or system) 800 in accordance with various aspects of the present invention.

The exemplary device 800 may share any or all aspects with any of the devices (e.g., portable computer devices, access points, gateways, network controllers, terminal devices, etc.) discussed herein (e.g., with regard to FIGS. 1-7). For example, the exemplary device 800 (or various modules thereof) may operate to perform any or all functionality discussed herein. As with the exemplary device 700, the components of the exemplary device 800 may be co-located a single housing.

For example, the device 800 comprises a processor 860. Such a processor 860 may, for example, share any or all characteristics with the processor 760 discussed with regard to FIG. 7. Also for example, the device 800 comprises a memory 861. Such memory 861 may, for example, share any or all characteristics with the memory 761 discussed with regard to FIG. 7.

Also for example, the exemplary device (or system) 800 may comprise any of a variety of user interface module(s) 840. Such user interface module(s) 840 may, for example, share any or all characteristics with the user interface module(s) 740 discussed previously with regard to FIG. 7. For example and without limitation, the user interface module(s) 840 may comprise: a display device, a camera (for still or moving picture acquisition), a speaker, an earphone (e.g., wired or wireless), a microphone, a video screen (e.g., a touch screen display), a vibrating mechanism, a keypad, a remote control interface, and/or any of a variety of other user interface devices (e.g., a mouse, a trackball, a touch pad, touch screen, light pen, game controlling device, etc.).

The exemplary device 800 may also, for example, comprise any of a variety of communication modules (805, 806, and 830). Such communication module(s) may, for example, share any or all characteristics with the communication interface module(s) 710, 720 and the communication module 730 discussed previously with regard to FIG. 7. For example and without limitation, the communication interface module(s) 830 may comprise: a Bluetooth interface module; an IEEE 802.11, 802.15, 802.16 and/or 802.20 module; any of a variety of cellular telecommunication interface modules (e.g., GSM/GPRS/EDGE, CDMA/CDMA2000/1x-EV-DO, WCDMA/HSDPA/HSUPA, TDMA/PDC, WiMAX, etc.); any of a variety of position-related communication interface modules (e.g., GPS, A-GPS, etc.); any of a variety of wired/tethered communication interface modules (e.g., USB, Fire Wire, RS-232, HDMI, component and/or composite video, Ethernet, wire line and/or cable modem, etc.); any of a variety of communication interface modules related to communicating with external memory devices; etc. The exemplary device 800 is also illustrated as comprising various wired 806 and/or wireless 805 front-end modules that may, for example, be included in the communication interface modules and/or utilized thereby.

The exemplary device (or system) 800 may also comprise any of a variety of signal processing module(s) 865. Such signal processing module(s) 865 may, for example, be utilized to assist in processing various types of information discussed previously (e.g., with regard to sensor processing, position or location determination, orientation determination, video processing, image processing, audio processing, general user interface information data processing, etc.). For example and without limitation, the signal processing module(s) 890 may comprise: video/graphics processing modules (e.g. MPEG-2, MPEG-4, H.263, H.264, JPEG, TIFF, 3-D, 2-D, MDDI, etc.); audio processing modules (e.g., MP3, AAC, MIDI, QCELP, AMR, CMX, etc.); and/or tactile processing modules (e.g., Keypad I/O, touch screen processing, motor control, etc.).

In summary, various aspects of the present invention provide a system and method providing remote user selection (e.g., image-based selection) of a device. While the invention has been described with reference to certain aspects and embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. 

1. A method for providing remote user selection of a device, the method comprising: presenting an image of a device environment to a user; receiving an image-based device selection input from a user; and identifying a user-selected device based, at least in part, on the received image-based device selection input.
 2. The method of claim 1, wherein said presenting an image comprises presenting a camera image of the device environment.
 3. The method of claim 1, wherein said presenting an image comprises presenting a map image of the device environment.
 4. The method of claim 1, wherein said presenting an image comprises presenting the image on a display of a user device.
 5. The method of claim 1, wherein said presenting an image comprises communicating information of the image to a user device separate from a system implementing the method.
 6. The method of claim 1, wherein said presenting an image comprises presenting graphical features on the image to indicate user-selectable devices in the image.
 7. The method of claim 1, wherein said presenting an image comprises presenting graphical features on the image to indicate status of devices in the image.
 8. The method of claim 1, wherein said presenting an image comprises presenting the image in response to a user request for an image.
 9. The method of claim 8, wherein the user request for an image specifies an image of a plurality of images.
 10. The method of claim 1, wherein said receiving an image-based device selection input from a user comprises receiving a touch screen input from a user.
 11. The method of claim 1, wherein said receiving an image-based device selection input from a user comprises receiving a user input specifying a point in the presented image.
 12. The method of claim 1, wherein said identifying a user-selected device comprises correlating the received image-based device selection input with device selection regions in the presented image to identify the user-selected device.
 13. The method of claim 1, wherein said identifying a user-selected device comprises analyzing device location information to identify the user-selected device.
 14. The method of claim 1, comprising communicating information to a user indicating the identified user-selected device.
 15. The method of claim 1, comprising establishing a communication link with the identified user-selected device.
 16. A system for providing remote user selection of a device, the system comprising: at least one module operable to, at least: present an image of a device environment to a user; receive an image-based device selection input from a user; and identify a user-selected device based, at least in part, on the received image-based device selection input.
 17. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present a camera image of the device environment to the user.
 18. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present a map image of the device environment to the user.
 19. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present the image on a display of a user device.
 20. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to communicate information of the image to a user device separate from the system.
 21. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present graphical features on the image to indicate user-selectable devices in the image.
 22. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present graphical features on the image to indicate status of devices in the image.
 23. The system of claim 16, wherein said at least one module is operable to present an image of a device environment to a user by, at least in part, operating to present the image in response to a user request for an image.
 24. The system of claim 23, wherein the user request for an image specifies an image of a plurality of images.
 25. The system of claim 16, wherein said receiving an image-based device selection input from a user comprises receiving a touch screen input from a user.
 26. The system of claim 16, wherein said at least one module is operable to receive an image-based device selection input from a user by, at least in part, operating to receive a user input specifying a point in the presented image.
 27. The system of claim 16, wherein said at least one module is operable to identify a user-selected device by, at least part, operating to correlate the received image-based device selection input with device selection regions in the presented image to identify the user-selected device.
 28. The system of claim 16, wherein said at least one module is operable to identify a user-selected device by, at least in part, operating to analyze device location information to identify the user-selected device.
 29. The system of claim 16, wherein the at least one module is operable to communicate information to a user indicating the identified user-selected device.
 30. The system of claim 16, wherein the at least one module is operable to establish a communication link with the identified user-selected device. 